package com.shuda.common.utils;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shuda.common.dto.PageDTO;
import com.shuda.common.utils.PageResult;

/**
 * 分页工具类
 */
public class PageUtils {

    /**
     * 构建分页对象
     */
    public static <T> Page<T> buildPage(PageDTO pageDTO) {
        return new Page<>(pageDTO.getPageNum(), pageDTO.getPageSize());
    }

    /**
     * 构建分页对象（带排序）
     */
    public static <T> Page<T> buildPage(PageDTO pageDTO, String orderBy) {
        Page<T> page = new Page<>(pageDTO.getPageNum(), pageDTO.getPageSize());
        if (orderBy != null && !orderBy.trim().isEmpty()) {
            // 这里可以根据需要实现排序逻辑
            // page.setOrders(...);
        }
        return page;
    }

    /**
     * 构建分页结果
     */
    public static <T> PageResult<T> buildPageResult(IPage<T> page) {
        return new PageResult<>(page.getRecords(), page.getTotal(), page.getCurrent(), page.getSize());
    }
}